{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Student Performance Data Info"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Attributes\n",
    "\n",
    "1 school - student's school (binary: 'GP' - Gabriel Pereira or 'MS' - Mousinho da Silveira)\n",
    "\n",
    "2 sex - student's sex (binary: 'F' - female or 'M' - male)\n",
    "\n",
    "3 age - student's age (numeric: from 15 to 22)\n",
    "\n",
    "4 address - student's home address type (binary: 'U' - urban or 'R' - rural)\n",
    "\n",
    "5 famsize - family size (binary: 'LE3' - less or equal to 3 or 'GT3' - greater than 3)\n",
    "\n",
    "6 Pstatus - parent's cohabitation status (binary: 'T' - living together or 'A' - apart)\n",
    "\n",
    "7 Medu - mother's education (numeric: 0 - none, 1 - primary education (4th grade), 2 â€“ 5th to 9th grade, 3 â€“ secondary education or 4 â€“ higher education)\n",
    "\n",
    "8 Fedu - father's education (numeric: 0 - none, 1 - primary education (4th grade), 2 â€“ 5th to 9th grade, 3 â€“ secondary education or 4 â€“ higher education)\n",
    "\n",
    "9 Mjob - mother's job (nominal: 'teacher', 'health' care related, civil 'services' (e.g. administrative or police), 'at_home' or 'other')\n",
    "\n",
    "10 Fjob - father's job (nominal: 'teacher', 'health' care related, civil 'services' (e.g. administrative or police), 'at_home' or 'other')\n",
    "\n",
    "11 reason - reason to choose this school (nominal: close to 'home', school 'reputation', 'course' preference or 'other')\n",
    "12 guardian - student's guardian (nominal: 'mother', 'father' or 'other')\n",
    "\n",
    "13 traveltime - home to school travel time (numeric: 1 - <15 min., 2 - 15 to 30 min., 3 - 30 min. to 1 hour, or 4 - >1 hour)\n",
    "\n",
    "14 studytime - weekly study time (numeric: 1 - <2 hours, 2 - 2 to 5 hours, 3 - 5 to 10 hours, or 4 - >10 hours)\n",
    "\n",
    "15 failures - number of past class failures (numeric: n if 1<=n<3, else 4)\n",
    "\n",
    "16 schoolsup - extra educational support (binary: yes or no)\n",
    "\n",
    "17 famsup - family educational support (binary: yes or no)\n",
    "\n",
    "18 paid - extra paid classes within the course subject (Math or Portuguese) (binary: yes or no)\n",
    "\n",
    "19 activities - extra-curricular activities (binary: yes or no)\n",
    "\n",
    "20 nursery - attended nursery school (binary: yes or no)\n",
    "\n",
    "21 higher - wants to take higher education (binary: yes or no)\n",
    "\n",
    "22 internet - Internet access at home (binary: yes or no)\n",
    "\n",
    "23 romantic - with a romantic relationship (binary: yes or no)\n",
    "\n",
    "24 famrel - quality of family relationships (numeric: from 1 - very bad to 5 - excellent)\n",
    "\n",
    "25 freetime - free time after school (numeric: from 1 - very low to 5 - very high)\n",
    "\n",
    "26 goout - going out with friends (numeric: from 1 - very low to 5 - very high)\n",
    "\n",
    "27 Dalc - workday alcohol consumption (numeric: from 1 - very low to 5 - very high)\n",
    "\n",
    "28 Walc - weekend alcohol consumption (numeric: from 1 - very low to 5 - very high)\n",
    "\n",
    "29 health - current health status (numeric: from 1 - very bad to 5 - very good)\n",
    "\n",
    "30 absences - number of school absences (numeric: from 0 to 93)\n",
    "\n",
    "\n",
    "# Grades\n",
    "\n",
    "31 G1 - first period grade (numeric: from 0 to 20)\n",
    "\n",
    "31 G2 - second period grade (numeric: from 0 to 20)\n",
    "\n",
    "32 G3 - final grade (numeric: from 0 to 20, output target)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import sklearn\n",
    "from sklearn import preprocessing\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.feature_selection import SelectKBest, chi2\n",
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.linear_model import SGDClassifier\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1 = pd.read_csv('student-mat.csv')\n",
    "train2 = pd.read_csv('student-por.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>school</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>address</th>\n",
       "      <th>famsize</th>\n",
       "      <th>Pstatus</th>\n",
       "      <th>Medu</th>\n",
       "      <th>Fedu</th>\n",
       "      <th>Mjob</th>\n",
       "      <th>Fjob</th>\n",
       "      <th>...</th>\n",
       "      <th>famrel</th>\n",
       "      <th>freetime</th>\n",
       "      <th>goout</th>\n",
       "      <th>Dalc</th>\n",
       "      <th>Walc</th>\n",
       "      <th>health</th>\n",
       "      <th>absences</th>\n",
       "      <th>G1</th>\n",
       "      <th>G2</th>\n",
       "      <th>G3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>18</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>A</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>at_home</td>\n",
       "      <td>teacher</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>17</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>LE3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>health</td>\n",
       "      <td>services</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "      <td>14</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>16</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>other</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 33 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob ...  \\\n",
       "0     GP   F   18       U     GT3       A     4     4  at_home   teacher ...   \n",
       "1     GP   F   17       U     GT3       T     1     1  at_home     other ...   \n",
       "2     GP   F   15       U     LE3       T     1     1  at_home     other ...   \n",
       "3     GP   F   15       U     GT3       T     4     2   health  services ...   \n",
       "4     GP   F   16       U     GT3       T     3     3    other     other ...   \n",
       "\n",
       "  famrel freetime  goout  Dalc  Walc health absences  G1  G2  G3  \n",
       "0      4        3      4     1     1      3        6   5   6   6  \n",
       "1      5        3      3     1     1      3        4   5   5   6  \n",
       "2      4        3      2     2     3      3       10   7   8  10  \n",
       "3      3        2      2     1     1      5        2  15  14  15  \n",
       "4      4        3      2     1     2      5        4   6  10  10  \n",
       "\n",
       "[5 rows x 33 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>school</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>address</th>\n",
       "      <th>famsize</th>\n",
       "      <th>Pstatus</th>\n",
       "      <th>Medu</th>\n",
       "      <th>Fedu</th>\n",
       "      <th>Mjob</th>\n",
       "      <th>Fjob</th>\n",
       "      <th>...</th>\n",
       "      <th>freetime</th>\n",
       "      <th>goout</th>\n",
       "      <th>Dalc</th>\n",
       "      <th>Walc</th>\n",
       "      <th>health</th>\n",
       "      <th>absences</th>\n",
       "      <th>G1</th>\n",
       "      <th>G2</th>\n",
       "      <th>G3</th>\n",
       "      <th>subject</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>18</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>A</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>at_home</td>\n",
       "      <td>teacher</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>Portuguese</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>17</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>9</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>Portuguese</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>LE3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>13</td>\n",
       "      <td>12</td>\n",
       "      <td>Portuguese</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>health</td>\n",
       "      <td>services</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>Portuguese</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>16</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>other</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>13</td>\n",
       "      <td>13</td>\n",
       "      <td>Portuguese</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 34 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\n",
       "0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \n",
       "1     GP   F   17       U     GT3       T     1     1  at_home     other   \n",
       "2     GP   F   15       U     LE3       T     1     1  at_home     other   \n",
       "3     GP   F   15       U     GT3       T     4     2   health  services   \n",
       "4     GP   F   16       U     GT3       T     3     3    other     other   \n",
       "\n",
       "      ...     freetime goout  Dalc  Walc  health absences  G1  G2  G3  \\\n",
       "0     ...            3     4     1     1       3        4   0  11  11   \n",
       "1     ...            3     3     1     1       3        2   9  11  11   \n",
       "2     ...            3     2     2     3       3        6  12  13  12   \n",
       "3     ...            2     2     1     1       5        0  14  14  14   \n",
       "4     ...            3     2     1     2       5        0  11  13  13   \n",
       "\n",
       "      subject  \n",
       "0  Portuguese  \n",
       "1  Portuguese  \n",
       "2  Portuguese  \n",
       "3  Portuguese  \n",
       "4  Portuguese  \n",
       "\n",
       "[5 rows x 34 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('students.csv')\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>school</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>address</th>\n",
       "      <th>famsize</th>\n",
       "      <th>Pstatus</th>\n",
       "      <th>Medu</th>\n",
       "      <th>Fedu</th>\n",
       "      <th>Mjob</th>\n",
       "      <th>Fjob</th>\n",
       "      <th>...</th>\n",
       "      <th>goout</th>\n",
       "      <th>Dalc</th>\n",
       "      <th>Walc</th>\n",
       "      <th>health</th>\n",
       "      <th>absences</th>\n",
       "      <th>G1</th>\n",
       "      <th>G2</th>\n",
       "      <th>G3</th>\n",
       "      <th>subject</th>\n",
       "      <th>FinalGrade</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>18</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>A</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>at_home</td>\n",
       "      <td>teacher</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>17</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>9</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>LE3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>13</td>\n",
       "      <td>12</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>health</td>\n",
       "      <td>services</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>16</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>other</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>13</td>\n",
       "      <td>13</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\n",
       "0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \n",
       "1     GP   F   17       U     GT3       T     1     1  at_home     other   \n",
       "2     GP   F   15       U     LE3       T     1     1  at_home     other   \n",
       "3     GP   F   15       U     GT3       T     4     2   health  services   \n",
       "4     GP   F   16       U     GT3       T     3     3    other     other   \n",
       "\n",
       "       ...      goout Dalc  Walc  health  absences  G1  G2  G3     subject  \\\n",
       "0      ...          4    1     1       3         4   0  11  11  Portuguese   \n",
       "1      ...          3    1     1       3         2   9  11  11  Portuguese   \n",
       "2      ...          2    2     3       3         6  12  13  12  Portuguese   \n",
       "3      ...          2    1     1       5         0  14  14  14  Portuguese   \n",
       "4      ...          2    1     2       5         0  11  13  13  Portuguese   \n",
       "\n",
       "     FinalGrade  \n",
       "0  Satisfactory  \n",
       "1  Satisfactory  \n",
       "2  Satisfactory  \n",
       "3  Satisfactory  \n",
       "4  Satisfactory  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('students.csv')\n",
    "data.head()\n",
    "data['FinalGrade'] = 'na'\n",
    "data.loc[(data.G3 >= 18) & (data.G3 <= 20), 'FinalGrade'] = 'Excellent'\n",
    "data.loc[(data.G3 >= 15) & (data.G3 <= 17), 'FinalGrade'] = 'Good' \n",
    "data.loc[(data.G3 >= 11) & (data.G3 <= 14), 'FinalGrade'] = 'Satisfactory' \n",
    "data.loc[(data.G3 >= 6) & (data.G3 <= 10), 'FinalGrade'] = 'Poor' \n",
    "data.loc[(data.G3 >= 0) & (data.G3 <= 5), 'FinalGrade'] = 'Failure' \n",
    "data.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# label encode final_grade\n",
    "le = preprocessing.LabelEncoder()\n",
    "data.FinalGrade = le.fit_transform(data.FinalGrade)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = data.drop(labels=['FinalGrade','G3'],axis=1)\n",
    "\n",
    "y = data.FinalGrade\n",
    "X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "# get dummy varibles \n",
    "X_train = pd.get_dummies(X_train)\n",
    "X_test = pd.get_dummies(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "60"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(list(X_train))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>Medu</th>\n",
       "      <th>Fedu</th>\n",
       "      <th>traveltime</th>\n",
       "      <th>studytime</th>\n",
       "      <th>failures</th>\n",
       "      <th>famrel</th>\n",
       "      <th>freetime</th>\n",
       "      <th>goout</th>\n",
       "      <th>Dalc</th>\n",
       "      <th>...</th>\n",
       "      <th>nursery_no</th>\n",
       "      <th>nursery_yes</th>\n",
       "      <th>higher_no</th>\n",
       "      <th>higher_yes</th>\n",
       "      <th>internet_no</th>\n",
       "      <th>internet_yes</th>\n",
       "      <th>romantic_no</th>\n",
       "      <th>romantic_yes</th>\n",
       "      <th>subject_Maths</th>\n",
       "      <th>subject_Portuguese</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>717</th>\n",
       "      <td>15</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1028</th>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>749</th>\n",
       "      <td>16</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>195</th>\n",
       "      <td>16</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>745</th>\n",
       "      <td>16</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>392</th>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>225</th>\n",
       "      <td>17</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>367</th>\n",
       "      <td>17</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>386</th>\n",
       "      <td>17</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>918</th>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>205</th>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>16</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>815</th>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>865</th>\n",
       "      <td>17</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>933</th>\n",
       "      <td>17</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>306</th>\n",
       "      <td>18</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>917</th>\n",
       "      <td>18</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>470</th>\n",
       "      <td>15</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>744</th>\n",
       "      <td>15</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>780</th>\n",
       "      <td>15</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>161</th>\n",
       "      <td>16</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>177</th>\n",
       "      <td>16</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>219</th>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>234</th>\n",
       "      <td>17</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>596</th>\n",
       "      <td>17</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>256</th>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>401</th>\n",
       "      <td>18</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>230</th>\n",
       "      <td>17</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>693</th>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>902</th>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>728</th>\n",
       "      <td>16</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>581</th>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>467</th>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>227</th>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>420</th>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>262</th>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>765</th>\n",
       "      <td>15</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>673</th>\n",
       "      <td>15</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>552</th>\n",
       "      <td>19</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>932</th>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>523</th>\n",
       "      <td>18</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>849</th>\n",
       "      <td>16</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>380</th>\n",
       "      <td>17</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>385</th>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>713</th>\n",
       "      <td>15</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>967</th>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>735</th>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>157</th>\n",
       "      <td>15</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>602</th>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>235</th>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>577</th>\n",
       "      <td>19</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>16</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>944</th>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>341</th>\n",
       "      <td>19</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>15</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>411</th>\n",
       "      <td>17</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>302</th>\n",
       "      <td>18</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>730 rows × 60 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      age  Medu  Fedu  traveltime  studytime  failures  famrel  freetime  \\\n",
       "717    15     2     2           2          2         0       4         1   \n",
       "1028   17     3     1           1          2         0       4         5   \n",
       "749    16     4     4           1          1         0       4         5   \n",
       "77     16     2     2           1          4         0       5         2   \n",
       "195    16     3     3           1          2         0       4         2   \n",
       "745    16     4     3           2          1         0       3         3   \n",
       "392    17     3     2           1          2         0       4         3   \n",
       "225    17     4     4           1          2         0       5         3   \n",
       "367    17     2     1           1          2         0       4         2   \n",
       "386    17     2     4           1          3         0       4         4   \n",
       "918    18     2     1           2          2         0       4         3   \n",
       "205    17     1     1           1          2         0       5         3   \n",
       "98     16     4     4           1          1         0       5         3   \n",
       "815    16     2     2           1          2         0       4         3   \n",
       "865    17     4     3           1          2         2       3         4   \n",
       "933    17     2     2           1          2         0       5         4   \n",
       "306    18     3     4           2          2         0       4         2   \n",
       "917    18     4     2           1          2         0       5         4   \n",
       "470    15     3     3           1          2         0       4         5   \n",
       "744    15     1     1           2          4         1       3         1   \n",
       "780    15     1     1           3          1         0       4         3   \n",
       "161    16     4     4           1          1         0       3         3   \n",
       "177    16     1     3           1          1         1       5         3   \n",
       "219    17     3     4           1          3         1       4         4   \n",
       "234    17     2     1           2          2         0       4         2   \n",
       "596    17     4     2           2          2         0       4         3   \n",
       "256    18     2     2           1          1         1       4         4   \n",
       "401    18     4     3           1          3         0       5         4   \n",
       "6      16     2     2           1          2         0       4         4   \n",
       "230    17     4     3           1          2         0       3         4   \n",
       "...   ...   ...   ...         ...        ...       ...     ...       ...   \n",
       "693    16     2     2           2          2         1       4         3   \n",
       "902    16     2     1           2          1         0       3         3   \n",
       "728    16     3     4           1          2         0       2         4   \n",
       "581    18     1     2           2          2         2       4         3   \n",
       "467    16     2     2           3          2         0       5         3   \n",
       "227    18     2     2           1          2         0       4         4   \n",
       "420    18     2     2           2          2         0       4         1   \n",
       "262    17     1     4           4          1         1       5         5   \n",
       "765    15     4     4           2          2         0       4         4   \n",
       "673    15     2     4           1          3         0       4         3   \n",
       "552    19     1     1           1          2         2       4         4   \n",
       "932    18     1     1           2          2         0       5         4   \n",
       "523    18     4     4           1          4         0       5         5   \n",
       "849    16     4     3           1          2         0       4         3   \n",
       "380    17     4     4           1          3         0       5         4   \n",
       "385    18     2     2           4          2         0       4         2   \n",
       "713    15     4     3           1          2         0       4         4   \n",
       "967    17     3     4           1          3         0       4         3   \n",
       "735    16     2     2           1          2         0       4         3   \n",
       "18     17     3     2           1          1         3       5         5   \n",
       "157    15     2     1           2          1         0       4         4   \n",
       "602    18     2     2           2          3         0       5         4   \n",
       "235    17     1     1           1          3         0       4         3   \n",
       "577    19     1     1           3          2         1       5         4   \n",
       "96     16     4     3           2          1         0       3         3   \n",
       "944    17     3     3           1          1         0       4         4   \n",
       "341    19     4     4           2          2         0       2         3   \n",
       "38     15     3     4           1          3         0       4         3   \n",
       "411    17     4     4           1          3         0       4         4   \n",
       "302    18     3     2           1          3         0       5         3   \n",
       "\n",
       "      goout  Dalc         ...          nursery_no  nursery_yes  higher_no  \\\n",
       "717       3     1         ...                   0            1          0   \n",
       "1028      4     2         ...                   1            0          0   \n",
       "749       5     5         ...                   0            1          0   \n",
       "77        3     1         ...                   0            1          0   \n",
       "195       3     1         ...                   0            1          0   \n",
       "745       3     1         ...                   1            0          0   \n",
       "392       2     2         ...                   0            1          0   \n",
       "225       5     4         ...                   0            1          0   \n",
       "367       3     2         ...                   0            1          0   \n",
       "386       3     1         ...                   0            1          0   \n",
       "918       5     1         ...                   0            1          1   \n",
       "205       3     1         ...                   0            1          0   \n",
       "98        4     1         ...                   1            0          0   \n",
       "815       5     2         ...                   0            1          1   \n",
       "865       5     2         ...                   0            1          0   \n",
       "933       5     1         ...                   1            0          0   \n",
       "306       5     3         ...                   0            1          0   \n",
       "917       5     1         ...                   0            1          0   \n",
       "470       4     1         ...                   0            1          0   \n",
       "744       2     1         ...                   0            1          0   \n",
       "780       3     1         ...                   1            0          0   \n",
       "161       2     2         ...                   0            1          1   \n",
       "177       3     1         ...                   0            1          1   \n",
       "219       3     3         ...                   0            1          0   \n",
       "234       5     1         ...                   0            1          0   \n",
       "596       3     1         ...                   0            1          0   \n",
       "256       3     2         ...                   1            0          1   \n",
       "401       5     2         ...                   0            1          0   \n",
       "6         4     1         ...                   0            1          0   \n",
       "230       5     2         ...                   0            1          0   \n",
       "...     ...   ...         ...                 ...          ...        ...   \n",
       "693       3     2         ...                   0            1          0   \n",
       "902       2     1         ...                   1            0          0   \n",
       "728       3     1         ...                   0            1          0   \n",
       "581       3     1         ...                   0            1          0   \n",
       "467       4     1         ...                   0            1          0   \n",
       "227       4     2         ...                   0            1          0   \n",
       "420       4     1         ...                   0            1          0   \n",
       "262       4     1         ...                   0            1          0   \n",
       "765       3     1         ...                   0            1          0   \n",
       "673       2     1         ...                   0            1          0   \n",
       "552       3     3         ...                   0            1          1   \n",
       "932       4     1         ...                   0            1          0   \n",
       "523       5     5         ...                   0            1          1   \n",
       "849       5     1         ...                   0            1          0   \n",
       "380       4     1         ...                   0            1          0   \n",
       "385       5     1         ...                   0            1          0   \n",
       "713       4     2         ...                   0            1          0   \n",
       "967       4     2         ...                   1            0          0   \n",
       "735       4     1         ...                   0            1          0   \n",
       "18        5     2         ...                   0            1          0   \n",
       "157       2     1         ...                   0            1          1   \n",
       "602       5     1         ...                   0            1          0   \n",
       "235       4     1         ...                   0            1          0   \n",
       "577       4     3         ...                   0            1          0   \n",
       "96        3     1         ...                   1            0          0   \n",
       "944       3     1         ...                   0            1          0   \n",
       "341       4     2         ...                   0            1          0   \n",
       "38        2     1         ...                   0            1          0   \n",
       "411       2     1         ...                   0            1          0   \n",
       "302       2     1         ...                   1            0          0   \n",
       "\n",
       "      higher_yes  internet_no  internet_yes  romantic_no  romantic_yes  \\\n",
       "717            1            0             1            1             0   \n",
       "1028           1            0             1            1             0   \n",
       "749            1            0             1            1             0   \n",
       "77             1            0             1            0             1   \n",
       "195            1            0             1            0             1   \n",
       "745            1            0             1            1             0   \n",
       "392            1            0             1            0             1   \n",
       "225            1            0             1            0             1   \n",
       "367            1            0             1            1             0   \n",
       "386            1            0             1            0             1   \n",
       "918            0            0             1            0             1   \n",
       "205            1            0             1            1             0   \n",
       "98             1            0             1            1             0   \n",
       "815            0            0             1            1             0   \n",
       "865            1            0             1            0             1   \n",
       "933            1            0             1            1             0   \n",
       "306            1            0             1            1             0   \n",
       "917            1            0             1            0             1   \n",
       "470            1            0             1            0             1   \n",
       "744            1            0             1            1             0   \n",
       "780            1            0             1            0             1   \n",
       "161            0            0             1            0             1   \n",
       "177            0            0             1            1             0   \n",
       "219            1            0             1            0             1   \n",
       "234            1            0             1            1             0   \n",
       "596            1            0             1            1             0   \n",
       "256            0            0             1            0             1   \n",
       "401            1            0             1            0             1   \n",
       "6              1            0             1            1             0   \n",
       "230            1            0             1            0             1   \n",
       "...          ...          ...           ...          ...           ...   \n",
       "693            1            0             1            1             0   \n",
       "902            1            1             0            1             0   \n",
       "728            1            0             1            1             0   \n",
       "581            1            1             0            1             0   \n",
       "467            1            0             1            1             0   \n",
       "227            1            0             1            1             0   \n",
       "420            1            0             1            1             0   \n",
       "262            1            0             1            1             0   \n",
       "765            1            1             0            1             0   \n",
       "673            1            0             1            1             0   \n",
       "552            0            0             1            1             0   \n",
       "932            1            0             1            1             0   \n",
       "523            0            0             1            0             1   \n",
       "849            1            0             1            1             0   \n",
       "380            1            0             1            1             0   \n",
       "385            1            1             0            0             1   \n",
       "713            1            0             1            0             1   \n",
       "967            1            0             1            1             0   \n",
       "735            1            1             0            1             0   \n",
       "18             1            0             1            1             0   \n",
       "157            0            0             1            0             1   \n",
       "602            1            0             1            0             1   \n",
       "235            1            1             0            0             1   \n",
       "577            1            0             1            1             0   \n",
       "96             1            0             1            1             0   \n",
       "944            1            0             1            1             0   \n",
       "341            1            0             1            1             0   \n",
       "38             1            0             1            1             0   \n",
       "411            1            0             1            1             0   \n",
       "302            1            1             0            1             0   \n",
       "\n",
       "      subject_Maths  subject_Portuguese  \n",
       "717               1                   0  \n",
       "1028              1                   0  \n",
       "749               1                   0  \n",
       "77                0                   1  \n",
       "195               0                   1  \n",
       "745               1                   0  \n",
       "392               0                   1  \n",
       "225               0                   1  \n",
       "367               0                   1  \n",
       "386               0                   1  \n",
       "918               1                   0  \n",
       "205               0                   1  \n",
       "98                0                   1  \n",
       "815               1                   0  \n",
       "865               1                   0  \n",
       "933               1                   0  \n",
       "306               0                   1  \n",
       "917               1                   0  \n",
       "470               0                   1  \n",
       "744               1                   0  \n",
       "780               1                   0  \n",
       "161               0                   1  \n",
       "177               0                   1  \n",
       "219               0                   1  \n",
       "234               0                   1  \n",
       "596               0                   1  \n",
       "256               0                   1  \n",
       "401               0                   1  \n",
       "6                 0                   1  \n",
       "230               0                   1  \n",
       "...             ...                 ...  \n",
       "693               1                   0  \n",
       "902               1                   0  \n",
       "728               1                   0  \n",
       "581               0                   1  \n",
       "467               0                   1  \n",
       "227               0                   1  \n",
       "420               0                   1  \n",
       "262               0                   1  \n",
       "765               1                   0  \n",
       "673               1                   0  \n",
       "552               0                   1  \n",
       "932               1                   0  \n",
       "523               0                   1  \n",
       "849               1                   0  \n",
       "380               0                   1  \n",
       "385               0                   1  \n",
       "713               1                   0  \n",
       "967               1                   0  \n",
       "735               1                   0  \n",
       "18                0                   1  \n",
       "157               0                   1  \n",
       "602               0                   1  \n",
       "235               0                   1  \n",
       "577               0                   1  \n",
       "96                0                   1  \n",
       "944               1                   0  \n",
       "341               0                   1  \n",
       "38                0                   1  \n",
       "411               0                   1  \n",
       "302               0                   1  \n",
       "\n",
       "[730 rows x 60 columns]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Decisioin Tree Model Score : 0.8438356164383561 , Cross Validation Score : 0.7961783439490446\n"
     ]
    }
   ],
   "source": [
    "# final model\n",
    "tree = DecisionTreeClassifier(min_samples_leaf=17)\n",
    "t= tree.fit(X_train, y_train)\n",
    "print(\"Decisioin Tree Model Score\" , \":\" , t.score(X_train, y_train) , \",\" , \n",
    "      \"Cross Validation Score\" ,\":\" , t.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n",
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:248: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "49    0.796178\n",
       "dtype: float64"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# find a good # of estimators\n",
    "\n",
    "\n",
    "ne=[]\n",
    "for i in range(1,61):\n",
    "    forest = RandomForestClassifier()\n",
    "    f = forest.fit(X_train, y_train)\n",
    "    fs = f.score(X_test, y_test)\n",
    "    ne.append(fs)\n",
    "ne = pd.Series(ne)\n",
    "ne.where(ne==ne.max()).dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2     0.783439\n",
       "9     0.783439\n",
       "11    0.783439\n",
       "dtype: float64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# find a good # of min_samples_leaf\n",
    "\n",
    "\n",
    "ne=[]\n",
    "for i in range(1,60):\n",
    "    forest = RandomForestClassifier(n_estimators=36, min_samples_leaf=i)\n",
    "    f = forest.fit(X_train, y_train)\n",
    "    fs = f.score(X_test, y_test)\n",
    "    ne.append(fs)\n",
    "ne = pd.Series(ne)\n",
    "ne.where(ne==ne.max()).dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Raondom Forest Model Score : 0.9972602739726028 , Cross Validation Score : 0.9681528662420382\n"
     ]
    }
   ],
   "source": [
    "# final model\n",
    "forest = RandomForestClassifier(n_estimators=36, min_samples_leaf=2)\n",
    "f = forest.fit(X_train, y_train)\n",
    "print(\"Raondom Forest Model Score\" , \":\" , f.score(X_train, y_train) , \",\" ,\n",
    "      \"Cross Validation Score\" ,\":\" , f.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SVC Model Score : 0.989041095890411 , Cross Validation Score : 0.9490445859872612\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/svm/base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.\n",
      "  \"avoid this warning.\", FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "svc = SVC()\n",
    "s= svc.fit(X_train, y_train)\n",
    "print(\"SVC Model Score\" , \":\" , s.score(X_train, y_train) , \",\" ,\n",
    "      \"Cross Validation Score\" ,\":\" , s.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "lr = LogisticRegression(multi_class='multinomial', solver='newton-cg',fit_intercept=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1     0.996815\n",
       "2     0.996815\n",
       "3     0.993631\n",
       "4     0.990446\n",
       "5     0.990446\n",
       "6     0.987261\n",
       "7     0.987261\n",
       "8     0.066879\n",
       "9     0.993631\n",
       "10    0.066879\n",
       "11    0.066879\n",
       "12    0.066879\n",
       "13    0.066879\n",
       "14    0.980892\n",
       "15    0.980892\n",
       "16    0.066879\n",
       "17    0.066879\n",
       "18    0.066879\n",
       "19    0.066879\n",
       "20    0.066879\n",
       "21    0.066879\n",
       "22    0.066879\n",
       "23    0.066879\n",
       "24    0.066879\n",
       "25    0.085987\n",
       "26    0.085987\n",
       "27    0.971338\n",
       "28    0.971338\n",
       "29    0.958599\n",
       "30    0.968153\n",
       "31    0.968153\n",
       "32    0.792994\n",
       "33    0.796178\n",
       "34    0.792994\n",
       "35    0.786624\n",
       "36    0.796178\n",
       "37    0.805732\n",
       "38    0.799363\n",
       "39    0.971338\n",
       "40    0.101911\n",
       "41    0.066879\n",
       "42    0.066879\n",
       "43    0.066879\n",
       "44    0.066879\n",
       "45    0.066879\n",
       "46    0.066879\n",
       "47    0.066879\n",
       "48    0.066879\n",
       "49    0.066879\n",
       "50    0.066879\n",
       "51    0.082803\n",
       "52    0.079618\n",
       "53    0.073248\n",
       "54    0.079618\n",
       "55    0.980892\n",
       "56    0.974522\n",
       "57    0.987261\n",
       "58    0.786624\n",
       "59    0.796178\n",
       "60         NaN\n",
       "dtype: float64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# find optimal # of features to use in the model\n",
    "\n",
    "\n",
    "ks=[]\n",
    "for i in range(1,61):\n",
    "    sk = SelectKBest(chi2, k=i)\n",
    "    x_new = sk.fit_transform(X_train,y_train)\n",
    "    x_new_test=sk.fit_transform(X_test,y_test)\n",
    "    l = lr.fit(x_new, y_train)\n",
    "    ll = l.score(x_new_test, y_test)\n",
    "    ks.append(ll)  \n",
    "    \n",
    "ks = pd.Series(ks)\n",
    "ks = ks.reindex(list(range(1,61)))\n",
    "ks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'Prediction Accuracy')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,5))\n",
    "ks.plot.line()\n",
    "plt.title('Feature Selction', fontsize=20)\n",
    "plt.xlabel('Number of Feature Used', fontsize=16)\n",
    "plt.ylabel('Prediction Accuracy', fontsize=16)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1    0.996815\n",
       "2    0.996815\n",
       "dtype: float64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ks.where(ks==ks.max()).dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Logistic Regression Model Score : 0.9931506849315068 , Cross Validation Score : 0.9872611464968153\n"
     ]
    }
   ],
   "source": [
    "# final model\n",
    "sk = SelectKBest(chi2, k=8)\n",
    "x_new = sk.fit_transform(X_train,y_train)\n",
    "x_new_test=sk.fit_transform(X_test,y_test)\n",
    "lr = lr.fit(x_new, y_train)\n",
    "print(\"Logistic Regression Model Score\" , \":\" , lr.score(x_new, y_train) , \",\" ,\n",
    "      \"Cross Validation Score\" ,\":\" , lr.score(x_new_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ada Boost Model Score : 0.7849315068493151 , Cross Validation Score : 0.7611464968152867\n"
     ]
    }
   ],
   "source": [
    "\n",
    "ada = AdaBoostClassifier(n_estimators=2)\n",
    "af = ada.fit(X_train, y_train)\n",
    "print(\"Ada Boost Model Score\" , \":\" , af.score(X_train, y_train) , \",\" ,\n",
    "      \"Cross Validation Score\" ,\":\" , af.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stochastic Gradient Descent Model Score : 0.5917808219178082 , Cross Validation Score : 0.5509554140127388\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/rohith/anaconda3/lib/python3.6/site-packages/sklearn/linear_model/stochastic_gradient.py:144: FutureWarning: max_iter and tol parameters have been added in SGDClassifier in 0.19. If both are left unset, they default to max_iter=5 and tol=None. If tol is not None, max_iter defaults to max_iter=1000. From 0.21, default max_iter will be 1000, and default tol will be 1e-3.\n",
      "  FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "sgd = SGDClassifier()\n",
    "sf = sgd.fit(X_train, y_train)\n",
    "print(\"Stochastic Gradient Descent Model Score\" , \":\" , sf.score(X_train, y_train) , \",\" ,\n",
    "      \"Cross Validation Score\" ,\":\" , sf.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "from xgboost import XGBClassifier\n",
    "from xgboost import plot_importance\n",
    "def XGBoost(x_train,y_train,x_val,y_val):\n",
    "    model = XGBClassifier()\n",
    "    model = XGBClassifier(learning_rate=0.1,n_estimators=100)\n",
    "    mf = model.fit(x_train,y_train)\n",
    "    y_pred=model.predict(x_val)\n",
    "    y_predict = mf.predict_proba(x_val)\n",
    "    print(\"XGBoost Train data Score\" , \":\" , mf.score(x_train, y_train) \n",
    "          , \",\" ,\"Validation data Score\" ,\":\" , mf.score(x_val, y_val))\n",
    "    \n",
    "    \n",
    "    # plot feature importance\n",
    "    fig, ax = plt.subplots(figsize=(10, 20))\n",
    "    plot_importance(model, ax=ax)\n",
    "\n",
    "    plt.show()\n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBoost Train data Score : 1.0 , Validation data Score : 1.0\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq8AAAR8CAYAAACzG30mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3X28pXVd7//3RyBFxjAEaQQR54AyMowjiFg/Dg4SHBW8S1NRE1IjTM1SQo+/NK1MijhENyfDNEnzjlSsvMmj46iRViA33hT6U8dDSoKCxsCgM/D9/bHX4J5hgC3Mnr0+w/P5eOwHa19rXdf6rP3958U111qrxhgBAIAO7rbQAwAAwFyJVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKwCaq6g1V9aqFngNgS8rnvAJsHVW1JsmeSW6ctflBY4xv3oljrkzytjHG3nduup6q6i1J/mOM8RsLPQswHZx5Bdi6Hj/GWDTr5w6H69ZQVTsu5PPfGVW1w0LPAEwf8QqwDVTVI6vqn6rqu1V1yeSM6sb7fqGq/q2qrq2qr1bVL02275LkQ0nuV1VrJz/3q6q3VNXvzNp/ZVX9x6zf11TVy6vq0iTXVdWOk/3eU1VXVdXXqupXbmPWm4+/8dhVdWpVXVlVV1TVk6rqcVX1paq6uqpeOWvf11TV31TVuyav57NV9dBZ9y+tqtWTv8MXquoJmz3vn1XVB6vquiTPS/KsJKdOXvvfTR73iqr6yuT4X6yqJ886xolV9Y9V9QdVdc3ktT521v27VdVfVtU3J/efN+u+46rq4sls/1RVy+e8wMA2I14B5llV7ZXkA0l+J8luSU5J8p6q2mPykCuTHJfkx5P8QpIzq+rgMcZ1SR6b5Jt34Ezu8UmOTXLvJDcl+bsklyTZK8lRSX61qv7HHI/1k0nuMdn31UnemOTZSQ5J8t+TvLqqlsx6/BOTnDt5rW9Pcl5V7VRVO03m+EiS+yZ5cZK/rqoHz9r3mUlel+ReSf4qyV8n+f3Ja3/85DFfmTzvrklem+RtVbV41jEOS3JZkt2T/H6SN1VVTe57a5J7JjlwMsOZSVJVByd5c5JfSnKfJH+e5G+r6u5z/BsB24h4Bdi6zpucufvurLN6z07ywTHGB8cYN40x/k+SC5I8LknGGB8YY3xlzPhEZuLuv9/JOf5ojHH5GGNdkkOT7DHG+K0xxg/GGF/NTIA+Y47HWp/kdWOM9UnemZkoPGuMce0Y4wtJvpBk9lnKC8cYfzN5/P/KTPg+cvKzKMlpkzlWJfn7zIT2Ru8fY5w/+TvdsKVhxhjnjjG+OXnMu5J8OckjZj3k62OMN44xbkxyTpLFSfacBO5jk5w8xrhmjLF+8vdOkl9M8udjjH8eY9w4xjgnyfcnMwNTpO21UABT6kljjI9utu0BSX6uqh4/a9tOST6eJJN/1v7NJA/KzEmFeyb53J2c4/LNnv9+VfXdWdt2SPKpOR7rO5MQTJJ1k/9+a9b96zITpbd47jHGTZNLGu638b4xxk2zHvv1zJzR3dLcW1RVz0ny0iT7TjYtykxQb/Sfs57/+slJ10WZORN89Rjjmi0c9gFJTqiqF8/a9mOz5gamhHgFmH+XJ3nrGOMXN79j8s/S70nynMycdVw/OWO78Z+5t/SRMNdlJnA3+sktPGb2fpcn+doYY/87MvwdcP+NN6rqbkn2TrLxcof7V9XdZgXsPkm+NGvfzV/vJr9X1QMyc9b4qCSfHmPcWFUX54d/r9tyeZLdqureY4zvbuG+140xXjeH4wALyGUDAPPvbUkeX1X/o6p2qKp7TN4ItXdmzu7dPclVSTZMzsIeM2vfbyW5T1XtOmvbxUkeN3nz0U8m+dXbef5/SfJfkzdx7TyZYVlVHbrVXuGmDqmqn5180sGvZuaf3z+T5J8zE96nTq6BXZnk8Zm5FOHWfCvJ7Otpd8lM0F6VzLzZLcmyuQw1xrgiM2+A+99V9ROTGY6Y3P3GJCdX1WE1Y5eqOraq7jXH1wxsI+IVYJ6NMS7PzJuYXpmZ6Lo8ya8nudsY49okv5Lk3Umuycwblv521r7/nuQdSb46uY72fpl509ElSdZk5vrYd93O89+YmUhckeRrSb6d5C8y84an+fD+JE/PzOv5+SQ/O7m+9AdJnpCZ606/neR/J3nO5DXemjclecjGa4jHGF9MckaST2cmbA9Kcv6PMNvPZ+Ya3n/PzBvlfjVJxhgXZOa61z+ZzP3/JTnxRzgusI34kgIAtpqqek2S/cYYz17oWYDtkzOvAAC0IV4BAGjDZQMAALThzCsAAG2IVwAA2vAlBduxe9/73mO//fZb6DGYuO6667LLLrss9BhMWI/pYj2mi/WYLneV9bjwwgu/PcbY4/YeJ163Y3vuuWcuuOCChR6DidWrV2flypULPQYT1mO6WI/pYj2my11lParq63N5nMsGAABoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtFFjjIWegXmyz5L9xt2edtZCj8HEyw7akDM+t+NCj8GE9Zgu1mO6WI/pclvrsea0Y7fxNPOnqi4cYzz89h7nzCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwDAdmDffffNQQcdlBUrVuThD5/5rP+rr746Rx99dPbff/8cffTRueaaa5Ikp59+elasWJEVK1Zk2bJl2WGHHXL11Vcv5PhzJl6nTFXtWVVvr6qvVtWFVfXpqnpyVT2iqi6e/FxSVU9e6FkBgOny8Y9/PBdffHEuuOCCJMlpp52Wo446Kl/+8pdz1FFH5bTTTkuS/Pqv/3ouvvjiXHzxxXn961+fRz3qUdltt90WcvQ5E69TpKoqyXlJPjnGWDLGOCTJM5LsneTzSR4+xliR5DFJ/ryqfHcfAHCr3v/+9+eEE05Ikpxwwgk577zzbvGYd7zjHTn++OO39Wh3mHidLo9O8oMxxhs2bhhjfH2M8cdjjOvHGBsmm++RZCzIhADAVKqqHHPMMTnkkENy9tlnJ0m+9a1vZfHixUmSxYsX58orr9xkn+uvvz4f/vCH85SnPGWbz3tHOXM3XQ5M8tlbu7OqDkvy5iQPSPLzs2J29mNOSnJSkuy++x559UG3eAgLZM+dk5dZj6lhPaaL9Zgu1mO63NZ6rF69+ubbp59+enbfffdcc801OeWUU7Ju3bps2LBhk8ds/vuqVatywAEH5NJLL52n6bc+8TrFqupPkxyembOxh44x/jnJgVW1NMk5VfWhMcYNs/cZY5yd5Owk2WfJfuOMz1niafGygzbEekwP6zFdrMd0sR7T5bbWY82zVm5x+yWXXJL169dnr732yoMf/OAsXrw4V1xxRe53v/tl5cof7nPWWWflRS960Sbbpp3LBqbLF5IcvPGXMcYLkxyVZI/ZDxpj/FuS65Is26bTAQBT6brrrsu111578+2PfOQjWbZsWZ7whCfknHPOSZKcc845eeITn3jzPt/73vfyiU98YpNtHfjfqumyKsnvVtULxhh/Ntl2zySpqgcmuXyMsaGqHpDkwUnWLMyYAMA0+da3vpUnP3nmg4g2bNiQZz7zmXnMYx6TQw89NE972tPypje9Kfvss0/OPffcm/d53/vel2OOOSa77LLLQo19h4jXKTLGGFX1pCRnVtWpSa7KzBnWl2fm8oFXVNX6JDcl+eUxxrcXbloAYFosWbIkl1xyyS223+c+98nHPvaxLe5z4okn5sQTT5znybY+8TplxhhXZObjsbbkrdtyFgCAaeOaVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbfiSgu3YzjvtkMtOO3ahx2Bi9erVWfOslQs9BhPWY7pYj+liPaaL9diUM68AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoI0dF3oA5s+69Tdm31d8YKHH2K6tOe3YhR4BAO5SnHkFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeIWt5Mwzz8yBBx6YZcuW5fjjj88NN9yQVatW5eCDD86yZcvy+te/Phs2bFjoMQGgNfE6Zapqz6p6e1V9taourKpPV9WTq+roye+fm/z30Qs9Kz/0jW98I3/0R3+UCy64IJ///Odz44035u1vf3tOOOGEvPOd78znP//57LnnnjnnnHMWelQAaE28TpGqqiTnJfnkGGPJGOOQJM9IsneSbyd5/BjjoCQnJHnrwk3KlmzYsCHr1q3Lhg0bcv3112eXXXbJ3e9+9zzoQQ9Kkjz84Q/Pe97zngWeEgB6E6/T5dFJfjDGeMPGDWOMr48x/niMcdEY45uTzV9Ico+quvuCTMkt7LXXXjnllFOyzz77ZPHixdl1113ztKc9LevXr88FF1yQJPnEJz6Ryy+/fIEnBYDedlzoAdjEgUk+O4fHPSXJRWOM729+R1WdlOSkJNl99z3y6oNcYzmfVq9enSS59tprc8455+Rtb3tbFi1alNe85jX5jd/4jZx66ql57nOfm/Xr12f58uW54YYbbt6HhbV27VprMUWsx3SxHtPFemxKvE6xqvrTJIdn5mzsoZNtByb5vSTHbGmfMcbZSc5Okn2W7DfO+Jwlnk9rnrUySXLuuefmYQ97WJ70pCclSb75zW/mM5/5TF73utflhS98YZLk9NNPzxgjK1euXKBpmW316tXWYopYj+liPaaL9diUywamyxeSHLzxlzHGC5MclWSPJKmqvZO8L8lzxhhfWZAJ2aJ99tknn/nMZ3L99ddnjJGPfexjWbp0aa688sokyfe///284x3vyMknn7zAkwJAb+J1uqzKzLWsL5i17Z5JUlX3TvKBJP9zjHH+QgzHrTvssMPy1Kc+NQcffHAOOuig3HTTTTnppJNy+umnZ+nSpVm+fHl++qd/Oo9+tA+JAIA7w78pT5ExxqiqJyU5s6pOTXJVkuuSvDzJi5Lsl+RVVfWqyS7HjDGuXJhp2dxrX/vavPa1r91k2+mnn57TTz89SVyvBABbgXidMmOMKzLz8Vhb8jvbchYAgGnjsgEAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG34koLt2M477ZDLTjt2occAANhqnHkFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG3suNADMH/Wrb8x+77iA9vkudacduw2eR4A4K7NmVcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IV7aqyy+/PEceeWSWLl2aAw88MGeddVaS5OlPf3pWrFiRFStWZN99982KFSsWeFIAoCPfsDVlqmrPJGcmeWSSa5L8IMnvJ/lkkr9JcmiSt4wxXrRgQ96GHXfcMWeccUYOPvjgXHvttTnkkENy9NFH513vetfNj3nZy16WXXfddQGnBAC6Eq9TpKoqyXlJzhljPHOy7QFJnpDkhiSvSrJs8jOVFi9enMWLFydJ7nWve2Xp0qX5xje+kYc85CFJkjFG3v3ud2fVqlULOSYA0JTLBqbLo5P8YIzxho0bxhhfH2P88RjjujHGP2YmYltYs2ZNLrroohx22GE3b/vUpz6VPffcM/vvv/8CTgYAdOXM63Q5MMln78wBquqkJCclye6775FXH7Rha8x1u1avXr3J7+vWrctLXvKSPP/5z89nP/vDl3TmmWfmEY94xC0ef1ewdu3au+TrnlbWY7pYj+liPaaL9diUeJ1iVfWnSQ7PzNnYQ+eyzxjj7CRnJ8k+S/YbZ3xu2yzxmmetvPn2+vXrc9xxx+Xkk0/OS1/60pu3b9iwIU9/+tNz4YUXZu+9994mc02T1atXZ+XKlQs9BhPWY7pYj+liPaaL9diUywamyxeSHLzxlzHGC5MclWSPBZvoRzTGyPOe97wsXbp0k3BNko9+9KM54IAD7pLhCgBsHeJ1uqxKco+qesGsbfdcqGHuiPPPPz9vfetbs2rVqps/GuuDH/xgkuSd73xnjj/++AWeEADozGUDU2SMMarqSUnOrKpTk1yV5LokL0+SqlqT5MeT/NjkcceMMb64UPNuyeGHH54xxhbve8tb3rJthwEAtjvidcqMMa5I8oxbuW/fbTsNAMB0cdkAAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2fEnBdmznnXbIZacdu9BjAABsNc68AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANr4keO1qn6iqpbPxzAAAHBb5hSvVbW6qn68qnZLckmSv6yq/zW/owEAwKbmeuZ11zHGfyX52SR/OcY4JMnPzN9YAABwS3ON1x2ranGSpyX5+3mcBwAAbtVc4/W3kvxDkq+MMf61qpYk+fL8jQUAALe041weNMY4N8m5s37/apKnzNdQAACwJXOK16p6UJI/S7LnGGPZ5NMGnjDG+J15nY47Zd36G7PvKz4wr8+x5rRj5/X4AACzzfWygTcm+Z9J1ifJGOPSJM+Yr6EAAGBL5hqv9xxj/Mtm2zZs7WEAAOC2zDVev11V/y3JSJKqemqSK+ZtKgAA2II5XfOa5IVJzk5yQFV9I8nXkjxr3qYCAIAtuN14raq7JXn4GONnqmqXJHcbY1w7/6MBAMCmbveygTHGTUleNLl9nXAFAGChzPWa1/9TVadU1f2rareNP/M6GQAAbGau17w+d/LfF87aNpIs2brjAADArZvTmdcxxgO38CNcudnll1+eI488MkuXLs2BBx6Ys846K0nymte8JnvttVdWrFiRFStW5IMf/OACTwoAdDbXb9h6zpa2jzH+auuOM32qau0YY9FCzzHtdtxxx5xxxhk5+OCDc+211+aQQw7J0UcfnST5tV/7tZxyyikLPCEAsD2Y62UDh866fY8kRyX5bJLtPl6Zm8WLF2fx4sVJknvd615ZunRpvvGNbyzwVADA9maulw28eNbPLyZ5WJIfm9/Rtr2qOq+qLqyqL1TVSbO2n1FVn62qj1XVHpNtv1JVX6yqS6vqnZNtu1TVm6vqX6vqoqp64mT7iVX13qr6cFV9uap+f9axHzM59iVV9bHbOc6BVfUvVXXx5Hn335Z/n7las2ZNLrroohx22GFJkj/5kz/J8uXL89znPjfXXHPNAk8HAHRWY4wffaeqnZJcOsZYuvVHWjhVtdsY4+qq2jnJvyZ5VJJvJ3n2GOOvq+rVSe47xnhRVX0zyQPHGN+vqnuPMb5bVb+b5ItjjLdV1b2T/EtmQv/nkrx6cvv7SS5LcniSGzJzBvuIMcbXZj3/rR3ntCSfmczyY0l2GGOs2+w1nJTkpCTZffc9Dnn1H75xXv9mB+216ya/r1u3Li95yUvy7Gc/O0cccUSuvvrq7LrrrqmqvPnNb853vvOdvPzlL5/XmabV2rVrs2iRK1CmhfWYLtZjuliP6XJXWY8jjzzywjHGw2/vcXO95vXvMvlq2MycrX1IknPv+HhT61eq6smT2/dPsn+Sm5K8a7LtbUneO7l9aZK/rqrzkpw32XZMkidU1cYLPO+RZJ/J7Y+NMb6XJFX1xSQPSPITST45xvhakowxrr6d43w6yf9bVXsnee8Y48ubv4AxxtmZ+Ta07LNkv3HG5+Z6Zcgds+ZZK2++vX79+hx33HE5+eST89KXvvQWj12yZEmOO+64rFy58hb33RWsXr36Lvvap5H1mC7WY7pYj+liPTY117L5g1m3NyT5+hjjP+ZhngVTVSuT/EySnxpjXF9VqzMTjZvbGPHHJjkiyROSvKqqDkxSSZ4yxrhss2MflpkzrhvdmJm/fc063ia7bOk4Sf6tqv558tz/UFXPH2OsmvurnD9jjDzvec/L0qVLNwnXK6644uZrYd/3vvdl2bJlCzUiALAdmOuXFDxujPGJyc/5Y4z/qKrfm9fJtr1dk1wzCdcDkjxysv1uSZ46uf3MJP84+crc+48xPp7k1CT3TrIoyT8keXFVVZJU1cNu5zk/neRRVfXAyeM3fvHDFo9TVUuSfHWM8UdJ/jbJ8jv5mrea888/P29961uzatWqTT4W69RTT81BBx2U5cuX5+Mf/3jOPPPMhR4VAGhsrmdej06y+YWKj93Cts4+nOTkqro0M9ekfmay/bokB1bVhUm+l+TpSXZI8raq2jUzZ0nPnFzz+ttJ/jDJpZPwXJPkuFt7wjHGVZNrVN87CeIrM/O3vrXjPD3Js6tqfZL/TPJbW/H13ymHH354tnT99OMe97gFmAYA2F5gFp9BAAAd7UlEQVTdZrxW1QuS/HKSJZOo2+heSc6fz8G2tTHG9zMT5JvbeIX0qzbbfvgWjrEuyS9tYftbkrxl1u/Hzbr9oSQfmuNxXp/k9bfyEgAAtnu3d+b17ZkJq9cnecWs7dfOenMRAABsE7cZr5N3x38vyfFJUlX3zcybmBZV1aIxxv+d/xEBAGDGnN6wVVWPr6ovJ/lakk9k5hrMD93mTgAAsJXN9dMGficz777/0hjjgZn5etjt6ppXAACm31zjdf0Y4ztJ7lZVd5t8RNSKeZwLAABuYa4flfXdqlqU5FOZ+VapKzPzZQUAALDNzPXM6xOTXJ/kVzPzeahfSfL4+RoKAAC2ZE5nXscY11XVA5LsP8Y4p6rumZkP6gcAgG1mTvFaVb+Y5KQkuyX5b0n2SvKGzLxxiym180475LLTjl3oMQAAtpq5XjbwwiT/T5L/SpIxxpeT3He+hgIAgC2Za7x+f4zxg42/VNWOSW75RfYAADCP5hqvn6iqVybZuaqOTnJukr+bv7EAAOCW5hqvr0hyVZLPJfmlJB9M8hvzNRQAAGzJbb5hq6r2GWP83zHGTUneOPkBAIAFcXtnXs/beKOq3jPPswAAwG26vXitWbeXzOcgAABwe24vXset3AYAgG3u9r6k4KFV9V+ZOQO78+R2Jr+PMcaPz+t0AAAwy23G6xjDV8ACADA15vpRWQAAsODEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYjX7di69Tdm31d8IPu+4gMLPQoAwFYhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFe72JuuOGGPOIRj8hDH/rQHHjggfnN3/zNhR4JAGDOdlzoAe4KqurGJJ+btelJY4w1c9z3LUn+fozxN1tjlrvf/e5ZtWpVFi1alPXr1+fwww/PYx/72DzykY/cGocHAJhX4nXbWDfGWLHQQyRJVWXRokVJkvXr12f9+vWpqgWeCgBgblw2sECqaoeqOr2q/rWqLq2qX5psr6r6k6r6YlV9IMl9Z+2zpqp2n9x+eFWtviPPfeONN2bFihW5733vm6OPPjqHHXbY1nhJAADzzpnXbWPnqrp4cvtrY4wnJ3leku+NMQ6tqrsnOb+qPpLkYUkenOSgJHsm+WKSN8/1iarqpCQnJcnuu++RVx+0IUmyevXqTR73h3/4h1m7dm1e9apX5YADDsgDH/jAO/P6mIO1a9feYh1YONZjuliP6WI9pov12JR43Ta2dNnAMUmWV9VTJ7/vmmT/JEckeccY48Yk36yqVT/KE40xzk5ydpLss2S/ccbnZpZ4zbNWbvHxF154Yb7zne/kF37hF36Up+EOWL16dVauXLnQYzBhPaaL9Zgu1mO6WI9NuWxg4VSSF48xVkx+HjjG+MjkvnEr+2zID9fsHnfkSa+66qp897vfTZKsW7cuH/3oR3PAAQfckUMBAGxz4nXh/EOSF1TVTklSVQ+qql2SfDLJMybXxC5OcuSsfdYkOWRy+yl35EmvuOKKHHnkkVm+fHkOPfTQHH300TnuuOPu+KsAANiGXDawcP4iyb5JPlszb/e/KsmTkrwvyaMz89FaX0ryiVn7vDbJm6rqlUn++Y486fLly3PRRRfdibEBABaOeN0GxhiLtrDtpiSvnPxs7kW3cpxPJXnQ1p0OAKAPlw0AANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGjDlxRsx3beaYdcdtqxCz0GAMBW48wrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV63Y+vW37jQIwAAbFXiFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xOtdxHOf+9zc9773zbJlyxZ6FACAO0y83kWceOKJ+fCHP7zQYwAA3Cl3yXitqpVV9dOzfj+5qp5zO/v8RVU9ZHL7lZvd90/zM+nWc8QRR2S33XZb6DEAAO6UHRd6gAWyMsnaJP+UJGOMN9zeDmOM58/69ZVJfnfWfT99yz0AANjatqt4rarzktw/yT2SnDXGOLuqHpOZ0NwhybeTPC/JyUlurKpnJ3lxkqMyE7MfSHLOGOMRk+Ptm+RvxxjLq2p1klOSPDXJzlV1cZIvjDGeVVVrxxiLJvv8epKnJbl7kveNMX6zqnZJ8u4ke0/m+O0xxrtu5TWsSXJOkscn2SnJz40x/r2qdkvy5iRLklyf5KQxxqVb2P+kJCclye6775HVq1fffN9//ud/5rrrrttkG9vO2rVr/e2niPWYLtZjuliP6WI9NrVdxWuS544xrq6qnZP8a1W9P8kbkxwxxvhaVe02uf8NSdaOMf4gSarqqCQZY/xbVf1YVS0ZY3w1ydMzE503G2O8oqpeNMZYsfmTV9UxSfZP8ogkleRvq+qIJHsk+eYY49jJ43a9ndfx7THGwVX1y5kJ5ucneW2Si8YYT6qqRyf5qyS3mGGMcXaSs5NknyX7jZUrV95835o1a7LLLrtk9ja2ndWrV/vbTxHrMV2sx3SxHtPFemxqe7vm9Veq6pIkn8nMGdiTknxyjPG1JBljXD2HY7w7M2dOk5l43eIZ0ltxzOTnoiSfTXJAZmL2c0l+pqp+r6r++xjje7dznPdO/nthkn0ntw9P8tYkGWOsSnKfOUQwAMB2ZbuJ16pameRnkvzUGOOhmQnIS5KMH/FQ70rytKp6UJIxxvjyjzJGktePMVZMfvYbY7xpjPGlJIdkJmJfX1Wvvp3jfH/y3xvzw7PjtYXHzfm1HX/88fmpn/qpXHbZZdl7773zpje9aa67AgBMje3psoFdk1wzxri+qg5I8sjMXHf6qKp64OzLBpJcm+THt3SQMcZXqurGJK/KrZ91XV9VO40x1m+2/R+S/HZV/fUYY21V7ZVkfWb+zlePMd5WVWuTnHgHXt8nkzxrcvyVmbm04L/muvM73vGOO/CUAADTZXuK1w8nObmqLk1yWWYuHbgqM5cOvLeq7pbkyiRHJ/m7JH9TVU/MzBu2NveuJKcneeCtPNfZSS6tqs+OMZ61ceMY4yNVtTTJp6sqmXkT2LOT7Jfk9Kq6KTMx+4I78Ppek+QvJ6/v+iQn3IFjAAC0tt3E6xjj+0keeyt3f2izx34pyfJZmz612f1/kOQPNtu2ctbtlyd5+azfF826fVaSszZ7/q9k5qzs7Rpj7Dvr9gWZ+VivjdfrPnEuxwAA2F5tN9e8AgCw/dtuzrx2U1Xvyy0vS3j5GGNOZ2gBAO6KxOsCGWM8eaFnAADoxmUDAAC0IV4BAGhDvAIA0IZ4BQCgDfG6Hdt5px0WegQAgK1KvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFf7/9u4+xvKqvuP45+vyJGCgy4MxgqIRWy3BraLBinTFh9BKlEZMRaugJjRtU62ttdhYCyYmNSbFGB8SEFSsxVof0NpEJcAGY0RBQMRSrNVtNSorRUQQKeDpH/c367DOLiI7c+c7+3olm3vv+Z29c+6cMLz3N7+5AwC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCva9gdd90z7yUAAOxU4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsTrLuIVr3hFDj744BxxxBHzXgoAwK9MvO5EVXVYVb34/s6rqqOq6u3LubZTTz01n/70p5fzQwAALLsVideaWXWhvAzrOizJfcbrtvPGGFeOMV61E9fxC4499tisX79+OT8EAMCyW7agnM4uXl9V70pyVZKXVtUXquqqqvqXqtp3mvfGqrqiqq6rqrOrqqbxV1XVv1fVtVX1oWlsfVVdOI1dXlVHTuNnVNV5VbWpqr5ZVdsNwSXWdWhVPWc7a9tcVW+pqi9Nfx4zjb+vqk5a9Jy3TXf/PsnTq+qaqnrN9LE+Nz3vVVX129uZt7GqPrWzXiMAwFq12zI//68neXmSNyb5WJJnjTFur6q/TvIXSd6U5B1jjDclSVV9IMkJSf41yelJHjXGuLOq9p+e78wkV48xTqyq45Kcn2TDdOw3kjwjyUOS3FBV7x5j3LWjdY0x/qSqDkzyhu2sLUluHWM8papeluRt0/q25/Qkrx1jnDC9nr2TPHuM8dOqOjzJBUmOWmLexkXP8YBeY1WdluS0JDnwwIOyadOmrce+//3v5/bbb7/XGCvntttu87lfRezH6mI/Vhf7sbrYj3tb7nj97zHG5VV1QpLHJ/n8dGJ1jyRfmOY8o6pel2TvJOuTfC2zeL02yQer6sIkF05zj0nygiQZY1xSVQdU1X7TsX8bY9yZ5M6q2pLkoUm+s6N1TfeP3sHakllwLtyedT9f/+5J3lFVG5Lck+Sxv8TfeUCvcYxxdpKzk+QRj37M2Lhx49Zjmzdvzj777JPFY6ycTZs2+dyvIvZjdbEfq4v9WF3sx70td7zePt1WkovGGCcvPlhVeyV5V5Kjxhjfrqozkuw1HX5ukmOTPC/J31bVb07Ps60x3d65aOye7Pi13b7o/pJrW+L5F9+/O9MlF9NlDnts5+++JsmNSZ4wzf/pDta0eD3bW8P9eY0AAGvOSv0Q1eVJnrbomtG9q+qx+Xmo3jRdZ3rSdPxBSQ4dY1ya5HVJ9k+yb5LLkrxkmrMxyU1jjFuXaW0L/mDR7cIZ2c1JnjTdf35mZ1iT5MeZfUt/wX5JvjfG+FmSlyZZt515iy3Ha8zJJ5+cpz71qbnhhhtyyCGH5Nxzz32gTwkAsOJW5MzdGOMHVXVqkguqas9p+A1jjK9X1TlJvppZEF4xHVuX5B+nb5dXkrPGGLdMZ2bfW1XXJvlJklOWa21Jvj7d37OqvphZ6C+cnT0nySeq6ktJLs7Pz+Rem+TuqvpKkvdldlb5o1X1wiSX7mDe1YuWtNNfY5JccMEF9z0JAGCVW7Z4HWNsTnLEoseXJHnyEvPekFksbuuYJebenNmZzm3Hz9jm8XbfiX/bde1obZN3jjHO3Gb+jZldK7vg9dP4XUmeuc3fP/KXnLdpOvaAXyMAwFq16t57FQAAtmfN/sBPVR2Q2bf0t/XMMcb//jLPMcY4bKcuCgCAB2TNxusUqBvucyIAAG24bAAAgDbEKwAAbYhXAADaEK8AALQhXtewB+++7r4nAQA0Il4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0IZ4BQCgDfEKAEAb4hUAgDbEKwAAbYhXAADaEK8AALQhXgEAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtCFeAQBoQ7wCANCGeAUAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2hCvAAC0IV4BAGhDvAIA0EaNMea9BpZJVf04yQ3zXgdbHZjkpnkvgq3sx+piP1YX+7G67Cr78cgxxkH3NWm3lVgJc3PDGOOoeS+Cmaq60n6sHvZjdbEfq4v9WF3sx725bAAAgDbEKwAAbYjXte3seS+Ae7Efq4v9WF3sx+piP1YX+7GIH9gCAKANZ14BAGhDvK5RVXV8Vd1QVd+oqtPnvZ5dQVWdV1Vbquq6RWPrq+qiqvrP6fbXpvGqqrdP+3NtVT1xfitfm6rq0Kq6tKqur6qvVdWrp3F7MgdVtVdVfamqvjLtx5nT+KOq6ovTfvxzVe0xje85Pf7GdPywea5/LaqqdVV1dVV9anpsL+aoqjZX1Ver6pqqunIa8/VqCeJ1DaqqdUnemeR3kzw+yclV9fj5rmqX8L4kx28zdnqSi8cYhye5eHqczPbm8OnPaUnevUJr3JXcneQvxxiPS3J0kj+d/juwJ/NxZ5LjxhhPSLIhyfFVdXSStyQ5a9qPHyZ55TT/lUl+OMZ4TJKzpnnsXK9Ocv2ix/Zi/p4xxtiw6G2xfL1agnhdm56S5BtjjG+OMf4vyYeSPH/Oa1rzxhiXJbl5m+HnJ3n/dP/9SU5cNH7+mLk8yf5V9bCVWemuYYzxvTHGVdP9H2f2P+mHx57MxfR5vW16uPv0ZyQ5LslHpvFt92Nhnz6S5JlVVSu03DWvqg5J8twk75keV+zFauTr1RLE69r08CTfXvT4O9MYK++hY4zvJbOYSnLwNG6PVtD0bc7fSvLF2JO5mb5NfU2SLUkuSvJfSW4ZY9w9TVn8Od+6H9PxHyU5YGVXvKa9LcnrkvxsenxA7MW8jSSfraovV9Vp05ivV0vwG7bWpqX+RextJVYXe7RCqmrfJB9N8udjjFt3cMLIniyzMcY9STZU1f5JPp7kcUtNm27txzKpqhOSbBljfLmqNi4MLzHVXqysp40xvltVBye5qKr+Ywdzd+k9ceZ1bfpOkkMXPT4kyXfntJZd3Y0L38qZbrdM4/ZoBVTV7pmF6wfHGB+bhu3JnI0xbkmyKbNrkfevqoUTKYs/51v3Yzq+X37xshx+NU9L8ryq2pzZZWXHZXYm1l7M0Rjju9Ptlsz+cfeU+Hq1JPG6Nl2R5PDpJ0f3SPKiJJ+c85p2VZ9Mcsp0/5Qkn1g0/rLpJ0aPTvKjhW8NsXNM1+Sdm+T6McY/LDpkT+agqg6azrimqh6c5FmZXYd8aZKTpmnb7sfCPp2U5JLhjcl3ijHG68cYh4wxDsvs/w+XjDFeEnsxN1W1T1U9ZOF+kuckuS6+Xi3JLylYo6rq9zL7l/S6JOeNMd485yWteVV1QZKNSQ5McmOSv0tyYZIPJ3lEkv9J8sIxxs1TWL0js3cn+EmSl48xrpzHuteqqjomyeeSfDU/v67vbzK77tWerLCqOjKzHzhZl9mJkw+PMd5UVY/O7Ozf+iRXJ/nDMcadVbVXkg9kdq3yzUleNMb45nxWv3ZNlw28doxxgr2Yn+lz//Hp4W5J/mmM8eaqOiC+Xv0C8QoAQBsuGwAAoA3xCgBAG+IVAIA2xCsAAG2IVwAA2vAbtgB2IVV1T2ZvH7bgxDHG5jktB+B+81ZZALuQqrptjLHvCn683cYYd6/UxwPWPpcNALBVVT2sqi6rqmuq6rqqevo0fnxVXVVVX6mqi6ex9VV1YVVdW1WXT7+IIFV1RlWdXVWfTXJ+Va2rqrdW1RXT3D+a40sEmnPZAMCu5cFVdc10/1tjjN/f5viLk3xm+u0+65LsXVUHJTknybFjjG9V1fpp7plJrh5jnFhVxyU5P8mG6diTkhwzxrijqk7L7NdXPrmq9kzy+ar67BjjW8v5QoG1SbwC7FruGGNs2MHxK5KcV1W7J7lwjHHN9CtEL1uIzTHGzdPcY5K8YBq7pKoOqKr9pmOfHGPcMd1/TpIjq+qk6fF+SQ5PIl6B+028ArDVGOOyqjo2yXOTfKCq3prkliRL/YBELfUU0+3t28z7szHGZ3bqYoFdkmteAdiqqh6ZZMsY45wk5yZ5YpIvJPmdqnrUNGfhsoHLkrxkGtuY5KYxxq1LPO1nkvzxdDY3VfXYqtpnWV8IsGY58wrAYhuT/FVV3ZXktiQvG2P8YLpu9WNV9aAkW5I8O8kZSd5bVdcm+UmSU7bznO9JcliSq6qqkvwgyYnL+SKAtctbZQEA0IbLBgAAaEO8AgDQhngFAKAN8QoAQBviFQCANsQrAABtiFcAANoQrwAAtPH/EnJLIFDsRowAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 720x1440 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model = XGBoost(X_train,y_train,X_test,y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Raw Cell Format",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
